可能是国内最火的开源项目 —— Go 篇
推荐阅读:
截止目前开源中国收录了 44517 款开源项目,囊括了最热门的各类开源项目,而软件的评分在一定程度上代表了软件的质量和热度,Go 语言近年排名一路飙升,因此本文整理了 Go 语言中评分最高并且收藏量超过 100 的几款项目,以供开发者选择和交流,排名如下:
JetBrains 的 Go 开发工具 Gogland
https://www.oschina.net/p/goglang
评分:8.8;收藏量:106
Gogland 是 JetBrains 公司推出的 Go 语言集成开发环境。Gogland 同样基于 IntelliJ 平台开发,支持 JetBrains 的插件体系。
内网穿透工具 frp
https://www.oschina.net/p/frp
评分:8.5;收藏量:864
frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。
极易搭建的自助 Git 服务 Gogs
https://www.oschina.net/p/gogs
评分:7.9;收藏量:702
Gogs 是一款极易搭建的自助 Git 服务,目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
实时消息通信平台 Centrifugo
https://www.oschina.net/p/centrifugal
评分:7.9;收藏量:218
Centrifugo 是一个用 Golang 实现的基于 Websocket 或者 SockJS 的实时通信平台。
支持数千个同时连接,提供基于频道的出版/订阅模式。PUB/SUB
容易和现有系统集成– 不改变已有后端情况下为系统提供实时通信能力。
HTTP API 和已有后端通信 . API clients for Python, Ruby, PHP, Go, NodeJS.
浏览器可以通过SockJS或者纯粹Websocket协议和centrifugal通信. 提供 iOS和Android平台SDK
采用Redis实现分布式部署.
SHA-256 HMAC连接认证和隐私保护
多种类型的频道 – 私有, 用户限制,客户端限制
通过名字空间灵活配置频道
支持即时消息和历史消息
支持用户加入/离开消息
网络重连后可以恢复消息
内置管理界面,提供多种计量(Metrics)
可用于WebRTC信令服务器
多种部署手段(docker 镜像, RPM/DEB 包, Nginx 配置, TLS certificates)
MIT license
Go Web API 利器 Faygo
https://www.oschina.net/p/faygo
评分:7.9;收藏量:171
Faygo 使用全新架构,是最合适开发API接口的Go Web框架。用户只需定义一个struct Handler,就能自动绑定、验证请求参数并生成在线API文档。
分布式RPC服务框架 rpcx
https://www.oschina.net/p/rpcx
评分:7.9;收藏量:151
rpcx是一个类似阿里巴巴 Dubbo 和微博 Motan 的分布式的RPC服务框架,基于Golang net/rpc实现。rpcx的目标就是实现一个Go生态圈的Dubbo,为Go生态圈提供一个分布式的、多插件的、带有服务治理功能的产品级的RPC框架。
HTTP反向代理、负载均衡软件 Traefik
https://www.oschina.net/p/traefik
评分:7.8;收藏量:245
Træfɪk 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) ,可以对配置进行自动化、动态的管理.
个人云笔记 leanote
https://www.oschina.net/p/leanote
评分:7.8;收藏量:272
leanote是一款开源云笔记产品,使用Go的Web框架revel和MongoDB开发完成。
Golang 实现的 IP 代理池 ProxyPool
https://www.oschina.net/p/proxypool
评分:7.6;收藏量:159
ProxyPool 通过采集免费的代理资源为爬虫提供有效的代理。
代理池由四部分组成:
Getter:
代理获取接口,目前有6个免费代理源,每调用一次就会抓取这个6个网站最新的100个代理放入Channel,可自行添加额外的代理获取接口;
Channel:
临时存放采集来的代理,通过访问稳定的网站去验证代理的有效性,有效则并存入数据库;
Schedule:
用定时的计划任务去检测数据库中代理IP的可用性,删除不可用的代理。同时也会主动通过Getter去获取最新代理;
Api:
代理池的访问接口,提供get接口输出JSON,方便爬虫直接使用。